package books.ThinkingInJava.src.Chapter10;

/**
 * @author bloodcolding
 * @version 1.0
 * @date 2/10/2020 3:21 PM
 */
public class AnonymousClass {

    public static int x = 1;
    final int m = 2;
    String str = "Hell";

    AnonymousClass() {

    }

    void f(int num) {
        String str1 = "--in f()--";
/**
 * 类变量 参数变量 局部变量均可一访问到，不需要设置为final
 */
        Base b = new Base() {
            String message;

            {
                message = "message";  //匿名内部类没有constructor，这是初始化的方法；
            }

            @Override
            void f() {
                super.f();
                System.out.println("In AnonymousClass.f()" + x + m + str + str1);
                System.out.println(num);
            }
        };

        b.f();
    }

    public static void main(String[] args) {
        new AnonymousClass().f(1);
    }
}
